{"componentChunkName":"component---src-templates-post-tsx","path":"/React-study_2/","result":{"data":{"markdownRemark":{"html":"<p>리액트 엘리먼트\nJSX 문법으로 작성한 요소는 결과적으로 자바스크립트 객체가 됩니다.</p>\n<p>import ReactDOM from 'react-dom';</p>\n<p>const element = <h1>안녕 리액트!</h1>;\nconsole.log(element);\nReactDOM.render(element, document.getElementById('root'));\n{$$typeof: Symbol(react.element), type: \"h1\", key: null, ref: null, props: {…}, …}\n이런 객체를 리액트 엘리먼트라고 부르는데요.</p>\n<p>이 리액트 엘리먼트를 ReactDOM.render 함수의 아규먼트로 전달하게 되면, 리액트가 객체 형태의 값을 해석해서 HTML 형태로 브라우저에 띄워주는 것이죠.</p>\n<p>리액트 엘리먼트는 리액트로 화면을 그려내는데 가장 기본적인 요소입니다.</p>\n<p>리액트 컴포넌트\n리액트 컴포넌트는 리액트 엘리먼트를 조금 더 자유롭게 다루기 위한 하나의 문법입니다.</p>\n<p>컴포넌트를 만드는 가장 간단한 방법은 자바스크립트의 함수를 활용하는 건데요.\n아래 코드에서 JSX 문법으로 작성된 하나의 요소를 리턴하는 Hello 함수가 바로 하나의 컴포넌트입니다.</p>\n<p>이렇게 요소를 컴포넌트로 작성하게 되면 다양한 장점들이 있는데,\n자세한 내용은 이후의 개념들을 하나씩 배워나가면서 차차 알아보도록 합시다!</p>\n<p>import ReactDOM from 'react-dom';</p>\n<p>function Hello() {\nreturn <h1>안녕 리액트</h1>;\n}</p>\n<p>const element = (\n&#x3C;>\n<Hello />\n<Hello />\n<Hello />\n&#x3C;/>\n);</p>\n<p>ReactDOM.render(element, document.getElementById('root'));\n그리고 이렇게 컴포넌트를 작성하면,\n위 코드에서 element 변수 안의 JSX 코드에서 볼 수 있듯 컴포넌트 함수 이름을 통해 하나의 태그처럼 활용할 수가 있습니다.</p>\n<p>이런 특성을 모듈 문법으로 활용하면 훨씬 더 독립적으로 컴포넌트 특성에 집중해서 코드를 작성할 수가 있습니다.</p>\n<p>예시: Dice.js</p>\n<p>import diceBlue01 from './assets/dice-blue-1.svg';</p>\n<p>function Dice() {\nreturn <img src={diceBlue01} alt=\"주사위\" />;\n}</p>\n<p>export default Dice;\n예시: App.js</p>\n<p>import Dice from './Dice';</p>\n<p>function App() {\nreturn (</p>\n<div>\n<Dice />\n</div>\n);\n}\n<p>export default App;\n한 가지 주의해야 할 부분은, 리액트 컴포넌트의 이름은 반드시 첫 글자를 대문자로 작성해야 한다는 것입니다.\n컴포넌트 이름의 첫 글자가 소문자라면 오류가 발생하니깐 꼭 주의!</p>","excerpt":"리액트 엘리먼트\nJSX 문법으로 작성한 요소는 결과적으로 자바스크립트 객체가 됩니다. import ReactDOM from 'react-dom'; const element = 안녕 리액트!;\nconsole.log(element);\nReactDOM.r…","tableOfContents":"","fields":{"slug":"/React-study_2/"},"frontmatter":{"title":"React commponent 문법","date":"Aug 21, 2021","tags":["react"],"keywords":["Dev.seungwon Jang","seungwon Jang"],"update":"Aug 21, 2021"}}},"pageContext":{"slug":"/React-study_2/","series":[{"slug":"/React-study_1/","title":"React JSX 문법","num":1},{"slug":"/React-study_2/","title":"React commponent 문법","num":2},{"slug":"/React-study_3/","title":"React Props 문법","num":3},{"slug":"/React-study_4/","title":"React state 정리하기","num":4},{"slug":"/React-study_5/","title":"React 디자인 적용하는 방법과 팁","num":5},{"slug":"/React-study_6/","title":"React 배포하기","num":6}],"lastmod":"2021-08-21"}},"staticQueryHashes":["2027115977","694178885"]}